/*
 * @lc app=leetcode.cn id=1160 lang=javascript
 *
 * [1160] 拼写单词
 */

// @lc code=start
/**
 * @param {string[]} words
 * @param {string} chars
 * @return {number}
 */
var countCharacters = function(words, chars) {
    let ob={}
    for(let i=0;i<chars.length;i++){
        if(ob[chars[i]])ob[chars[i]]++
        else{
            ob[chars[i]]=1
        }
    }
    const isOK=function(item){
        let obj={}
        for(let i=0;i<item.length;i++){
            if(!ob[item[i]])return false
            else{
               if(obj[item[i]]) ++obj[item[i]]
               else{
                   obj[item[i]]=1
               }
               if(obj[item[i]]>ob[item[i]])return false
            }
        }
        return true
    }
    
    return words.filter((item)=>isOK(item)).reduce((a,b)=>a+b.length,0)
};
// @lc code=end

